#ifndef CONFIG_H
#define CONFIG_H

#define _SCANNER_USES_UART1

// 电机移动时起始阶段的速度, x0.01 rad/sec
#define FIRST_STAGE_SPEED           2000

// 电机移动时结束阶段的速度, x0.01 rad/sec
#define SECOND_STAGE_SPEED          1000

// 电机移动时起始和结束阶段的距离, mm
#define FIRST_STAGE_DISTANCE        5

// 电机移动时起始和结束阶段的距离, mm
#define SECOND_STAGE_DISTANCE       15

// T电机转一圈的距离, mm
#define T1_PERIMETER                     (20 * 3.14)
// T电机缓冲距离, mm
#define T1_IMPORT_LIMIT_BUFFER_DISTANCE   7.0
#define T1_EXPORT_LIMIT_BUFFER_DISTANCE   20.0
#define T1_BACK_LIMIT_BUFFER_DISTANCE     120.0
#define T1_OUT_BUFFER_DISTANCE            300.0

// T电机转一圈的距离, mm
#define T2_PERIMETER                     (20 * 3.14)
// T电机缓冲距离, mm
#define T2_LIMIT_BUFFER_DISTANCE          20.0
#define T2_BACK_LIMIT_BUFFER_DISTANCE     100.0
#define T2_OUT_BUFFER_DISTANCE            200.0

// S电机转一圈的距离, mm
#define S1_PERIMETER                     (15 * 2.032)
// S电机目标距离, mm
#define S1_LIMIT_TARGET_DISTANCE          20.0
// S电机缓冲距离, mm
#define S1_LIMIT_BUFFER_DISTANCE          1.0
// S电机缓冲距离, mm
#define S1_LIMIT2_BUFFER_DISTANCE         8.0
// S电机缓冲距离, mm
#define S1_RESET_BUFFER_DISTANCE          8.0

// S电机目标位置后退距离, mm
#define S1_LIMIT_BACK_DISTANCE            4.0

// S电机转一圈的距离, mm
#define S2_PERIMETER                     (15 * 2.032)
// S电机缓冲距离, mm
#define S2_LIMIT_BUFFER_DISTANCE          2.0
// S电机缓冲距离, mm
#define S2_RESET_BUFFER_DISTANCE          8.0

// V电机复位缓冲步数
#define V_RESET_BUFFER_STEP                20
#define V_LIMIT_BUFFER_STEP                0
#define V_LIMIT_TARGET_STEP                200
// V电机使用的细分
#define V_MISCRO                           16


// 位置码顺序从较小值递增
#define SCAN_FROM_SMALL_TO_LARGE

// 最大条码缓存数量
#define MAX_BAR_NUMBER              60

// 最大样本码长度
#define MAX_BAR_LEN                 16

// 位置码长度
#define POS_CODE_LEN                8

// 位置码最大值
#define MAX_POS_CODE_VALUE          5

// 一个试管架单元最大样本数量
#define MAX_SAMPLE_COUNTS_BY_UNIT   5

// 一个试管架单元最大试管架id数量
#define MAX_RACKID_COUNTS_BY_UNIT   1

#define BCL95

// 试管架码最大值
#define MAX_RACKID_CODE_VALUE       1000

// 试管架码内容长度RACKID(3)
#define RACKID_CODE_LEN             3

// 试管架码最大长度 STX + '#'+ RACKID(3) + '#' + 0x0D + 0x0A + 0x00
#define RACKID_CODE_MAX_LEN         9

#define BEEP_MULTI_FREQ             1

#define ENABLE_BEEP                 1
// 使用看门狗
#define USE_WATCHDG                 1

#endif // CONFIG_H
